package com.atguigu.guli.service.edu.service;


//远程访问service-oss接口的方法
// ribbon: restTemplate.get("http://service-oss/admin/oss/file/test");
// ribbon发起请求时，先根据地址中的service-oss去注册中心获取 它的ip+端口号
// 然后使用 HttpClient 发起网络请求访问http://ip:port/admin/oss/file/test

import com.atguigu.guli.service.base.result.R;
import com.atguigu.guli.service.base.result.ResultCodeEnum;
import com.atguigu.guli.service.edu.service.impl.OssFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

//指定要访问的服务的ip：prot[通过注册中心的服务名来配置]
@FeignClient(value = "service-oss",fallback = OssFeignClientFallback.class)
public interface OssFeignClient {
    //通过抽象方法 绑定要访问的服务器中的接口路径+形参列表+返回值类型+请求方式
 //@GetMapping("/admin/oss/file/test")// getMapping:相当于请求方式 , 注解的value值代表要访问的接口的路径
  //public void test(); //Void代表 响应体内容要转换的数据类型    方法的形参列表相当于远程访问的参数列表

    @PostMapping("/admin/oss/file/test")
    // test("admin","12123);
//    public R test(@RequestParam("username") String username , @RequestParam("password") String password);
    public R test(@RequestBody ResultCodeEnum codeEnum);

    //2.删除文件
    @DeleteMapping("/admin/oss/file/delete")
    //path：文件路径  module:文件在桶内的目录名称
    public R deleteFile(@RequestParam("path") String path,
                        @RequestParam("module") String module);
}
